package com.yyxk.thousandtime.base;

import android.content.Context;


import com.yyxk.thousandtime.bean.BaseBean;
import com.yyxk.thousandtime.ibase.IBaseView;
import com.yyxk.thousandtime.webutils.ProgressSubscriber;
import com.yyxk.thousandtime.webutils.RetrofitHelp;
import com.yyxk.thousandtime.webutils.SubscriberOnErrorListener;
import com.yyxk.thousandtime.webutils.SubscriberOnNextListener;

import rx.Observable;

/**
 * ----------Dragon be here!----------/
 * 　　　┏┓　　　┏┓
 * 　　┏┛┻━━━┛┻┓
 * 　　┃　　　　　　　┃
 * 　　┃　　　━　　　┃
 * 　　┃　┳┛　┗┳　┃
 * 　　┃　　　　　　　┃
 * 　　┃　　　┻　　　┃
 * 　　┃　　　　　　　┃
 * 　　┗━┓　　　┏━┛
 * 　　　　┃　　　┃神兽保佑
 * 　　　　┃　　　┃代码无BUG！
 * 　　　　┃　　　┗━━━┓
 * 　　　　┃　　　　　　　┣┓
 * 　　　　┃　　　　　　　┏┛
 * 　　　　┗┓┓┏━┳┓┏┛
 * 　　　　　┃┫┫　┃┫┫
 * 　　　　　┗┻┛　┗┻┛
 * ━━━━━━神兽出没━━━━━━
 * 项目名称：BanYou
 * 包名:com.banyou.banyou.base
 * 类描述：
 * 创建人：LX
 * 创建时间：2017/5/31 上午9:36
 * 修改人：LX
 * 修改时间：2017/5/31 上午9:36
 * 修改备注：
 */

public class BaseModel<T,V extends IBaseView> {
    private SubscriberOnNextListener<T> mListener;
    private SubscriberOnErrorListener mErrorListener;
    private Context mContext;
    private RetrofitHelp help = RetrofitHelp.getInstance();

    public void getData(Observable<BaseBean<T>> ob,V view) {
        Observable observable = ob.map(help.new HttpResultFunc());
        RetrofitHelp.toSubscribe(observable, new ProgressSubscriber(mContext,mListener,mErrorListener,true,view));
    }

    public void setListener(SubscriberOnNextListener<T> onNext, SubscriberOnErrorListener onError, Context context) {
        mListener = onNext;
        mErrorListener = onError;
        mContext = context;
    }
}
